In today's society the internet plays an important role in everyday life. Uses include: email, online shopping, banking, research using search engines and more recently cloud computing technologies for archiving, data manipulation and storage. Whilst the majority of internet users are law abiding citizens there is a minority of users who would access services or computer networks for unlawful or malicious reasons. Computer programs and applications are generally devised in order to provide services to the end user. However, some computer programs are devised with malicious intentions. It is these computer programs that are designed to gain access to private services and network services for the purpose of performing malicious tasks: these tasks include: signing up for multiple email accounts for spamming and phishing purposes, delivering viruses to insecure systems and networks to mention a few or even gaining control of protected systems such as oil, gas and electricity facilities. To this end network administrators and online internet service providers have devised a number of measures to secure their services. One such way is to provide a method to ascertain whether a request for service is human or computer generated—Human Interactive Proof (HIP).
There are many methods currently available but this method focuses on what we will call the challenge or puzzle or any other visual illusion method. Challenge is used throughout the document for ease of readability, but is meant to cover all the above in any permutation. This is where the end user, who may wish to access a network service or invoke a secure system change, is presented with a visual challenge or puzzle designed to be virtually indiscernible by a computer process or optical character recognition (OCR) process or other automated process or script.
Currently, there are various methods for generating what are known within the industry as CAPTCHAs (Completely Automated Public Turing test to tell Computers and Humans Apart). These generally involve skewing alphanumeric characters or obscuring the characters with lines to make it more difficult for optical character recognition (OCR) and other applications to read, decipher or otherwise interpret and complete the challenge or puzzle. One of the difficulties with these methods is that the challenge is often so obscured that not even the human user can complete it and yet the automated processes often complete them with ease. Many fortune 500 companies have had their systems breached due to an inability to make HIPS that are inaccessible to automated process—or at the very least inaccessible without spending an inordinate amount of time trying to crack the system.
Automated processes currently use a variety of techniques to read, decipher or otherwise interpret challenges and these include: image edge and boundary detectors, pixel analysis based on colour and position, erode and dilate techniques where the automated script erodes the background data and any occlusions, lines and noise and then dilates the remaining image pixels according to brightness and colour or relating pixels, as well as OCR processes. These processes rely upon the detection of shapes, segmentation, blocks of colour and a matching process. Other more sophisticated methods involve training neural networks to recognize skewed characters once extracted.